Verifying the ARM Block Data Transfer Instructions

نویسنده

  • Anthony Fox
چکیده

The hol-4 proof system has been used to formally verify the correctness of the ARM6 micro-architecture. This paper describes the specification and verification of one instructions class, block data transfers; these are a form of load-store instruction in which a set of up to sixteen registers can be transferred atomically. The ARM6 is a commercial RISC microprocessor that has been used extensively in embedded systems – it has a 3-stage pipeline with a multi-cycled execute stage. A list based programmer’s model specification of the block data transfers is compared with the ARM6’s implementation which uses a 16-bit mask. The models are far removed and reasonably complex, and this poses a verification challenge. This paper describes the approach and some key lemmas used in verifying correctness, which is defined using data and temporal abstraction maps.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Method for Modeling Flexible Manipulators: Transfer Matrix Method with Finite Segments

This paper presents a computationally efficient method for the modeling of robot manipulators with flexible links and joints. This approach combines the Discrete Time Transfer Matrix Method with the Finite Segment Method, in which the flexible links are discretized by a number of rigid segments connected by torsion springs; and the flexibility of joints are modeled by torsion springs. The propo...

متن کامل

Predicated Instructions for Code Compaction

Procedural abstraction, the replacement of several identical code sequences with calls to a single representative function, is a powerful tool in producing compact executables. We explore how predicated instructions can be used to allow procedural abstraction of non-identical basic blocks. A predicated instruction is one that the processor executes if a condition (specified in the opcode) is tr...

متن کامل

Accelerating AES with Vector Permute Instructions

We demonstrate new techniques to speed up the Rijndael (AES) block cipher using vector permute instructions. Because these techniques avoid dataand key-dependent branches and memory references, they are immune to known timing attacks. This is the first constant-time software implementation of AES which is efficient for sequential modes of operation. This work can be adapted to several other pri...

متن کامل

Processor Memory System Verification using DOGReL: a language for specifying End-to-End properties

The memory subsystem of a microprocessor is responsible for scheduling memory accesses as efficiently as possible, hiding latency costs from the Data Processing Unit and, ideally, minimizing power costs. For ARM processors, requirements on ordering and completion of memory accesses from the ARM Architecture and relevant bus protocols specify an envelope of acceptable behavior that must be maint...

متن کامل

Transfer Function Synthesis without Quantifier Elimination

Abstract. Traditionally, transfer functions have been designed manually for each operation in a program, instruction by instruction. In such a setting, a transfer function describes the semantics of a single instruction, detailing how a given abstract input state is mapped to an abstract output state. The net effect of a sequence of instructions, a basic block, can then be calculated by composi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004